Como - Java-based interactive communication


Como is a new, java-based system that standardizes interactive communication between internet users.

Why Como?

It is simple to use WWW to retrieve all kinds of information - but interactive communication between two or more people is very difficult: "talk" is not available on every system and is inconvenient to use. "irc" is hard to use as well. Both severely limited what the user can do.

Most multi-player games are hard to start up - you usually need an additional line to communicate with the others (phone / talk / irc). Also, the implementation of such programs is a lot of work - most of which is like reinventing the wheel.

Java and Como provide a very suitable programming environment to solve these problems.

How it works

The Como system can run a certain kind of applets we call "Commlets". Commlets implement one specific way of communications, such as Chat, a game, a meeting scheduler, a whiteboard, etc.

Every como user can be on as many different channels as they wish. On every channel, its members are running the same Commlet. One of the users on a channel (usually the one who started it) has additional priviliges, for example to start a new game. Users can start, join and be invited to sessions. The user interface for all this is the ComoIRCClient applet. A simpler user interface that can be used to automatically join a specific channel or to make a user invitable is the ComoPageClient applet.

On the Web server, a IRC daemon process dispatches the information the user's applet instances have to exchange. Different ircd processes can interconnect so that all como users in the network can communicate with each other.

How it could work much better

Some features could not be implemented because of the harsh restrictions in netscape about what applets can do. For example, it is impossible to use your own picture of yourself in the SuperChat Commlet or to paste your own pictures into a Draw commlet.

The programming interface

The goal was to make it as easy as possible to get started writing Commlets for the como system. The simple chat client we include is only about 100 lines long. Here is some more information about the programming interface , and a link to the sources.

The ComoIRCClient applet

This Applet lets the user log in to the como system and see who else is using any part of the como system, join running conversations, and start new sessions. Click here to start it. If you are running netscape and started the SuperChat below before, exit from the SuperChat window first.

Available Demo Commlets

To demonstrate the como system, we have implemented the following Commlets:

SuperChat

A very convenient chat applet that supports sound transmission, private messages, and a picture for every user. To join a demo session and get more information , click here.

Draw

This is a "white board" Commlet that lets the users draw on a shared board. It is vector-oriented, but also supports images. Click here to read more about it.

NicNacNoe

A generic board game applet that lets the users play games like Gobang, Four In A Row, and a similar game for up to ten players we call "NicNacNoe". Click here. for more information.

Meeting Scheduler

A little tool that makes it easy to schedule meetings between a group of people. Everyone simply clicks on a table of possible dates to mark if they are free or not. The Commlet then suggests the best date and time.

ClassRoom

An example that show how different Commlets can be integrated to allow the users to interact in a number of ways at the same time. This Commlet includes a Draw and a SuperChat.

Basic Chat

A very simple chat applet that shows how easy it is to implement a Commlet.

Limitations/Known Bugs



Developers

Jan Kautz
Hartmannstr. 125, Zi. 5404
D-91052 Erlangen
Germany

Telefon: +49/9131/36595
Mail: jnkautz@cip.informatik.uni-erlangen.de

Ulrich Gall
Hofmannstr. 48
D-91052 Erlangen
Germany

Telefon: +49/9131/201329
Fax: +49/9131/201358
Mail: uhgall@cip.informatik.uni-erlangen.de



Last changed 03-13-96. jnkautz@cip.informatik.uni-erlangen.de